package dao

import (
	"time"
)

// 这是 OmsOrderReturnApply 的全局公开dao对象，被service层调用!
var OmsOrderReturnApplyDao = omsOrderReturnApplyDao{}

// 这是 oms_order_return_apply表 的实体类
type OmsOrderReturnApply struct {
	CompanyAddressId int64     `json:"company_address_id" form:"company_address_id" v:"company_address_id"` // 这是一个逻辑外键,关联oms_company_address(id)收货地址表id
	CreateTime       time.Time `json:"create_time" form:"create_time" v:"create_time"`                      // 申请时间
	Description      string    `json:"description" form:"description" v:"description"`                      // 描述
	HandleMan        string    `json:"handle_man" form:"handle_man" v:"handle_man"`                         // 处理人员
	HandleNote       string    `json:"handle_note" form:"handle_note" v:"handle_note"`                      // 处理备注
	HandleTime       time.Time `json:"handle_time" form:"handle_time" v:"handle_time"`                      // 处理时间
	Id               int64     `json:"id" form:"id" v:"id"`
	MemberUsername   string    `json:"member_username" form:"member_username" v:"member_username"`          // 会员用户名
	OrderId          int64     `json:"order_id" form:"order_id" v:"order_id"`                               // 这是一个逻辑外键,关联oms_order(id)订单id
	OrderSn          string    `json:"order_sn" form:"order_sn" v:"order_sn"`                               // 订单编号
	ProductAttr      string    `json:"product_attr" form:"product_attr" v:"product_attr"`                   // 商品销售属性：颜色：红色；尺码：xl;
	ProductBrand     string    `json:"product_brand" form:"product_brand" v:"product_brand"`                // 商品品牌
	ProductCount     int32     `json:"product_count" form:"product_count" v:"product_count"`                // 退货数量
	ProductId        int64     `json:"product_id" form:"product_id" v:"product_id"`                         // 退货商品id
	ProductName      string    `json:"product_name" form:"product_name" v:"product_name"`                   // 商品名称
	ProductPic       string    `json:"product_pic" form:"product_pic" v:"product_pic"`                      // 商品图片
	ProductPrice     float64   `json:"product_price" form:"product_price" v:"product_price"`                // 商品单价
	ProductRealPrice float64   `json:"product_real_price" form:"product_real_price" v:"product_real_price"` // 商品实际支付单价
	ProofPics        string    `json:"proof_pics" form:"proof_pics" v:"proof_pics"`                         // 凭证图片，以逗号隔开
	Reason           string    `json:"reason" form:"reason" v:"reason"`                                     // 原因
	ReceiveMan       string    `json:"receive_man" form:"receive_man" v:"receive_man"`                      // 收货人
	ReceiveNote      string    `json:"receive_note" form:"receive_note" v:"receive_note"`                   // 收货备注
	ReceiveTime      time.Time `json:"receive_time" form:"receive_time" v:"receive_time"`                   // 收货时间
	ReturnAmount     float64   `json:"return_amount" form:"return_amount" v:"return_amount"`                // 退款金额
	ReturnName       string    `json:"return_name" form:"return_name" v:"return_name"`                      // 退货人姓名
	ReturnPhone      string    `json:"return_phone" form:"return_phone" v:"return_phone"`                   // 退货人电话
	Status           int32     `json:"status" form:"status" v:"status"`                                     // 申请状态：0-&gt;待处理；1-&gt;退货中；2-&gt;已完成；3-&gt;已拒绝

}

// 注意:这是 OmsOrderReturnApply 的私有dao对象，只能在dao层内使用!
type omsOrderReturnApplyDao struct {
	InsertTemplate func(arg OmsOrderReturnApply) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg OmsOrderReturnApply) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                              `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (OmsOrderReturnApply, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]OmsOrderReturnApply, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 oms_order_return_apply 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type OmsOrderReturnApplyPostman struct {
company_address_id
create_time
description
handle_man
handle_note
handle_time
id
member_username
order_id
order_sn
product_attr
product_brand
product_count
product_id
product_name
product_pic
product_price
product_real_price
proof_pics
reason
receive_man
receive_note
receive_time
return_amount
return_name
return_phone
status

}*/

// 这是 oms_order_return_apply 表的批量请求参数
type OmsOrderReturnApplyReq struct {
	List []OmsOrderReturnApply `json:"list" form:"list"`
}
